 
package com.xbongbong.paas.domain.dao;

import java.util.List;
import java.util.Map;
import java.lang.Integer;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.xbongbong.paas.domain.entity.PaasAppEntity;
import org.springframework.stereotype.Repository;


/**
* @author autoGen
* @time 2018-07-26 10:11:32
*/
@Repository
@Mapper
public interface PaasAppDao {

	Integer insert(PaasAppEntity paasApp);

	Integer update(PaasAppEntity paasApp);

	/**
	 * 批量插入实体
	 * @param paasAppList
	 * @return
	 */
	Integer insertBatch(@Param("list") List<PaasAppEntity> paasAppList);
	
	Integer deleteByKey(@Param("key") Long key, @Param("corpid") String corpid);

	PaasAppEntity getByKey(@Param("key") Long key, @Param("corpid") String corpid);

	List<PaasAppEntity>  findEntitys(@Param("param") Map<String, Object> param);

	Integer getEntitysCount(@Param("param") Map<String, Object> param);

	/**
	 * 获取有开通并开启某些应用的公司id
	 *
	 * @param param
	 * @return 创建时间： 2018-6-4 下午3:27:44
	 * 修改时间： 2018-6-4 下午3:27:44 chy
	 * @author chy
	 * @version v3.22
	 * @since v3.22
	 */
	List<String> findCorps(@Param("param") Map<String, Object> param);

	/**
	 * 排序--批量操作
	 * @author wufeng
	 * @date 2018/8/7 14:09
	 * @param paasAppEntityList
	 * @descption
	 * @return java.lang.Integer
	 */
	Integer updateSort(@Param("list") List<PaasAppEntity> paasAppEntityList, @Param("corpid") String corpid);

	/**
	 * 检索用户应用列表
	 * @param map
	 * @return
	 */
    List<PaasAppEntity> userAppList(@Param("param") Map<String,Object> map);
	/**
	 * 通过业务标识获取实体
	 * @param alias 业务标识
	 * @see com.xbongbong.saas.enums.XbbRefTypeEnum
	 * @param corpid 公司id
	 * @return 实体
	 */
    PaasAppEntity getByAlias(@Param("alias") String alias, @Param("corpid") String corpid);
    
    List<PaasAppEntity> getDingBundleByAlias(@Param("idGet") Long idGet, @Param("corpid") String corpid);
    
    List<String> getCorpidList();

	/**
	 * 批量更新
	 *
	 * @param list
	 * @param corpid
	 */
	void updateBatch(@Param("list") List<PaasAppEntity> list, @Param("corpid") String corpid);

	List<String> getJxcEnableTime(@Param("param")Map<String,Object> param);

    List<PaasAppEntity> getNameByKeys(@Param("appIds") List<Long> appIds, @Param("corpid") String corpid);
}